<?php


namespace Part19_CombinationMode\Code2;

/**
 * 公司类
 */
abstract class Company
{
    protected $name;
    protected $departmentName;

    public function __construct($name)
    {
        $this->name = $name;
    }

    /**
     * 增加
     * @param Company $c
     * @return mixed
     */
    public abstract function add($c);

    /**
     * 移除
     * @param Company $c
     * @return mixed
     */
    public abstract function remove($c);

    /**
     * 显示
     * @param int $depth
     * @return mixed
     */
    public abstract function display($depth);

    // 履行职责(不同部门履行不同职责)
    public abstract function lineOfDuty();
}